home *** CD-ROM | disk | FTP | other *** search
- '
- ' syn
- ' Copyright (C) 2000-2003, Ascher Stefan. All rights reserved.
- ' stievie@utanet.at, http://web.utanet.at/ascherst/
- '
- ' The contents of this file are subject to the Mozilla Public License
- ' Version 1.1 (the "License"); you may not use this file except in compliance
- ' with the License. You may obtain a copy of the License at
- ' http://www.mozilla.org/MPL/
- '
- ' Software distributed under the License is distributed on an "AS IS" basis,
- ' WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
- ' the specific language governing rights and limitations under the License.
- '
- ' The Original Code is cs-rcs.vbs, released Sun, 26 May 2002 10:55:39 UTC.
- '
- ' The Initial Developer of the Original Code is Ascher Stefan.
- ' Portions created by Ascher Stefan are Copyright (C) 2000-2003 Ascher Stefan.
- ' All Rights Reserved.
- '
- ' Contributor(s): .
- '
- ' Alternatively, the contents of this file may be used under the terms of the
- ' GNU General Public License Version 2 or later (the "GPL"), in which case
- ' the provisions of the GPL are applicable instead of those above.
- ' If you wish to allow use of your version of this file only under the terms
- ' of the GPL and not to allow others to use your version of this file
- ' under the MPL, indicate your decision by deleting the provisions above and
- ' replace them with the notice and other provisions required by the GPL.
- ' If you do not delete the provisions above, a recipient may use your version
- ' of this file under either the MPL or the GPL.
- '
- ' You may retrieve the latest version of this file at the syn home page,
- ' located at http://syn.sourceforge.net/
- '
- ' $Id: cs-rcs.vbs,v 1.2.2.5 2003/08/13 00:38:45 neum Exp $
-
-
- ' Version 2.2
-
- ' Script to call ComponentSoftware's RCS, if you're not using this implementation
- ' from RCS, you may want to access it via the commandline.
-
- ' usage: cs-rcs.vbs <dowhat> [filename]
-
- ' dowhat can be:
- ' -status
- ' -history
- ' -checkout
- ' -checkin
- ' -explorer
- ' -compare
-
- ' usage with syn:
- ' - Make a new Tool enter:
- ' - Program : wscript.exe
- ' - Arguments : "cs-rcs.vbs" <dowhat> "$[ActiveDocLong]"
- ' - Workingdirectory : something, or leave it blank
- ' - Capture Console : cleared
-
- option explicit
-
- dim sDoWhat
- dim sFileName
- dim objFs
-
- if WScript.Arguments.Count < 1 then
- MsgBox "To few Arguments." & vbCrLf & "usage: cs-rcs.vbs <dowhat> [filename]", 16, "RCS"
- WScript.Quit
- end if
-
- sDoWhat = LCase(WScript.Arguments(0)) ' make the arguments case insesitive
-
- if WScript.Arguments.Count > 1 then
- sFileName = WScript.Arguments(1)
- set objFs = WScript.CreateObject("Scripting.FileSystemObject")
- if not objFs.FileExists(sFileName) then
- MsgBox "File '" & sFileName & "' does not exist.", 16, "RCS"
- WScript.Quit
- end if
- end if
-
- select case sDoWhat
- case "-status"
- RcsStatus
- case "-history"
- RcsHistory
- case "-checkout"
- RcsCheckOut
- case "-checkin"
- RcsCheckIn
- case "-explorer"
- RcsExplorer
- case "-compare"
- RcsCompare
- case else
- MsgBox "Unknown directive: '" & sDoWhat & "'.", 16, "RCS"
- WScript.Quit
- end select
-
- sub RcsStatus()
- dim rcsapp
- set rcsapp = CreateObject("Csrcssrv.Application")
- rcsapp.StatusEx sFileName, false
- end sub
-
- sub RcsHistory()
- dim rcsapp
- set rcsapp = CreateObject("Csrcssrv.Application")
- rcsapp.History sFileName
- end sub
-
- sub RcsCheckOut()
- dim rcsapp
- Set rcsapp = CreateObject("Csrcssrv.Application")
- rcsapp.CheckOut sFileName
- end sub
-
- sub RcsCheckIn()
- dim rcsapp
- set rcsapp = CreateObject("Csrcssrv.Application")
- if rcsapp.GetRCSState(sFileName) = 0 then
- rcsapp.AddToRcs sFileName
- else
- rcsapp.CheckIn sFileName
- end if
- end sub
-
- sub RcsExplorer()
- dim rcsapp
- set rcsapp = CreateObject("Csrcssrv.Application")
- rcsapp.PrjExplorer ""
- end sub
-
- sub RcsCompare()
- dim fName
- dim rcsapp
- dim objShell
- set rcsapp = CreateObject("Csrcssrv.Application")
- fName = rcsapp.GetHeadRevision(sFileName)
- set rcsapp = nothing
-
- ' The Diff Tool to compare the two files, you may also use the Tool shipped with CS-RCS (CSDiff.exe)
- const DiffExe = "D:\Eigene Dateien\Delphi Projekte\TextDiff\TextDiff.exe"
-
- if fName <> "" and sFileName <> "" then
- ' Now run a Diff Tool like WinDiff, I use TextDiff (http://rpi.net.au/~ajohnson/delphi/)
- set objShell = WScript.CreateObject("WScript.Shell")
- if objShell.Run(AddQuotes(DiffExe) & " " & AddQuotes(fName) & " " & AddQuotes(sFileName), 1, false) <> 0 then
- MsgBox "Can not start " & DiffExe, 16, "RCS"
- end if
- end if
- end sub
-
- function AddQuotes(s)
- AddQuotes = Chr(34) & s & Chr(34)
- end function
-